package com.yq.cp.entity.basics;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yq.cp.entity.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 设备管理
 * </p>
 *
 * @author shenyuqing
 * @since 2024-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_equipment_management")
public class EquipmentManagement extends BaseEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 站点id
     */
    private Long siteId;

    /**
     * 所在地区
     */
    private String area;

    /**
     * 设备大类
     */
    private Long equipmentCategoryId;

    /**
     * 设备类型
     */
    private Long equipmentType;

    /**
     * 设备名称
     */
    private String name;

    /**
     * SN码
     */
    private String sn;

    /**
     * 计量点位
     */
    private String measurementPointLocation;

    /**
     * 设备编码
     */
    private String equipmentCode;

    /**
     * 最高阈值
     */
    private BigDecimal maximumThreshold;

    /**
     * 最低阈值
     */
    private BigDecimal minimumThreshold;

    /**
     * 设备序列号
     */
    private String equipmentSerialNumber;

    /**
     * 通道加密密码
     */
    private String channelEncryptionPassword;

    /**
     * 通道号
     */
    private String channelNumber;

    private String accessToken;

    /**
     * 图片
     */
    private String photo;

    /**
     * 0-待审核   1-通过   2-拒绝
     */
    private Integer examine;

    /**
     * 0-待审核   1-通过   2-拒绝
     */
    private Integer deleteExamine;
    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date examineDate;
    /**
     * 审核人电子签名
     */
    private String examinePersonSignature;
    /**
     * 拒绝理由
     */
    private String refuseReason;
    /**
     * 站点名
     */
    @TableField(exist = false)
    private String siteName;

    /**
     * 设备类型名
     */
    @TableField(exist = false)
    private String equipment;
    /**
     * 审核人
     */
    private String examinePerson;
    //状态：1 = 在线  2 = 离线  3 = 报警
    private Integer yxzt;
    private BigDecimal yxxl;
    private BigDecimal yxgl;


    //功率
    private BigDecimal rateOfWork;
    //直流功率
    private BigDecimal rateOfWorkDc;
    //温度
    private BigDecimal temperature;
    //湿度
    private BigDecimal humidity;
    //效率
    private BigDecimal efficiency;
    //状态:0-运行，1-停止
    private Integer operationState;
    //额定功率
    private BigDecimal edgl;
    @TableField(exist = false)
    private Integer bjcs;
    /**
     * 0-不参与结算  1-参与结算
     */
    private Integer isjf;


    //计量点
    @TableField(exist = false)
    private String jld;
    @TableField(exist = false)
    private BigDecimal swdl;
    @TableField(exist = false)
    private BigDecimal xwdl;


    private BigDecimal total;//正向总
    private BigDecimal tip;//正向尖
    private BigDecimal peak;//正向峰
    private BigDecimal normal;//正向平
    private BigDecimal valley;//正向谷
    private BigDecimal reTotal;//反向总
    private BigDecimal reTip;//反向尖
    private BigDecimal rePeak;//反向峰
    private BigDecimal reNormal;//反向平
    private BigDecimal reValley;//反向谷
    @TableField(exist = false)
    private String ztsm;
    /**
     * 0-关闭  1-开启
     */
    private Integer isOpen;
}
